package services;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.bean.ApplicationScoped;
import javax.faces.bean.ManagedBean;

import modelo.Barrio;
import modelo.Clasificacionmenu;
import modelo.Detallemenu;
import modelo.Domicilio;
import modelo.Empresa;
import modelo.Menu;
import modelo.Persona;
import modelo.Propietario;
import modelo.Telefonoempresa;
import modelo.Tipomenu;
import modelo.Tiposuscripcion;
import modelo.Usuario;
import dao.MenuDao;
import dao.PropietarioDao;

@ManagedBean(name = "menuService", eager = true)
@ApplicationScoped
public class MenuService implements Serializable {

	private static final long serialVersionUID = 6376377320342242796L;
	//private Menu menu;
	//private List<Propietario> listaPropietario;
	private List<Menu> listaMenu;
	private MenuDao menuDao;
	private List<Menu> listaMenuSalon;
	private List<Menu> listaMenuxsalon=new ArrayList<Menu>();
	
	public MenuService() {
		super();
//		this.propietario = new Propietario();
//		this.listaPropietario = new ArrayList<>();
		this.listaMenu = new ArrayList<Menu>();
		this.listaMenuSalon=new ArrayList<Menu>();
		this.menuDao = new MenuDao();
	}

	@PostConstruct
	public void init()
	{
	//listaPropietario = propietarioDao.obtenerPropietarios();
		listaMenu =menuDao.obtenerMenu();
		
	}
	
	public void guardarMenu(Menu m, List<Detallemenu> listDetalle) throws Exception
	{
		menuDao.guardarMenu(m, listDetalle);
	}

	public MenuDao getMenuDao() {
		return menuDao;
	}

	public void setMenuDao(MenuDao menuDao) {
		this.menuDao = menuDao;
	}

	public List<Menu> getListaMenu() {
		return listaMenu;
	}

	public void setListaMenu(List<Menu> listaMenu) {
		this.listaMenu = listaMenu;
	}
	
	public List<Menu> getListaMenu(Tipomenu tm, Clasificacionmenu cm) {
		listaMenu=menuDao.obtenerMenu(tm,cm);
		return listaMenu;
	}

	public List<Menu> getListaMenuSalon(Integer idsalon) {
		listaMenuSalon=menuDao.obtenerMenuSalon(idsalon);
		return listaMenuSalon;
	}

	public void setListaMenuSalon(List<Menu> listaMenuSalon) {
		this.listaMenuSalon = listaMenuSalon;
	}

	public List<Menu> getListaMenu(Tipomenu tipoMenuSelected,
			Clasificacionmenu clasificacionSelected, Integer idSalon) {
		// TODO Auto-generated method stub
		listaMenuxsalon=menuDao.obtenerMenuSalon(tipoMenuSelected, clasificacionSelected, idSalon);
		return listaMenuxsalon;
		
	}

	public List<Menu> getListaMenuxsalon() {
		// TODO Auto-generated method stub
		return listaMenuxsalon;
	}

	public void setListaMenuxsalon(List<Menu> listaMenuxsalon) {
		this.listaMenuxsalon = listaMenuxsalon;
	}

	public List<Menu> getListaMenuSalon() {
		return listaMenuSalon;
	}
	
}